def usr_tuple():
    """
    元组的基本使用
    :return: 
    """
    # 元组可存放多种不同元素，且用()来表示
    info_tuple = ("zhangsan", 18, 1.75, 'zhangsan')
    for i in info_tuple:
        print(i, end=" ")
        # print(f"{i},类型{type(i)}",end=" ")

    print()
    print("*" * 50)

    # index返回找到的第一个索引的下标
    print(info_tuple.index("zhangsan"))
    # count返回元组中索引的个数
    print(info_tuple.count("zhangsan"))


def usr_str():
    """
    格式化字符串
    :return:
    """
    info_tuple = ("小明", 21, 1.85)
    print(info_tuple)

    # 格式化字符串后面的 `()` 本质上就是元组
    print("姓名%s，年龄%d，身高%.2f" % info_tuple)

    infp_str = "姓名%s，年龄%d，身高%.2f" % info_tuple
    print(infp_str)


def usr_tuple_error():
    # 列表，用[]，存储一个元素，类型依然是列表
    a = [1]
    print(type(a))
    # 若元组存储一个元素，不加','则表示一个不可变类型变量，加了','才表示为元组
    b = (1) # 加了"()"等价于加上了括号运算，但也是1，即b=1
    print(type(b))  # <class 'int'>
    c = (1,)
    print(type(c))  # <class 'tuple'>


if __name__ == '__main__':
    # usr_tuple()
    # usr_str()
    usr_tuple_error()
